package mainFiles;

/**
 * Represents a location object.
 * @author Emily Linniman
 * @version November 30, 2014
 *
 */
public class Location {

	/** The id of the location. */
	private String locationID;
	
	/** The name of the location. */
	private String locationName;
	
	/** The size of the location in sq. ft. */
	private int locationSize;
	
	/** The occupation limit of the location. */
	private int locationOccupationLimit;
	
	/**
	 * Constructs a new location object.
	 * 
	 * @param locationID the id of the location to be created
	 * @param locationName the name of the location to be created
	 * @param locationSize the size of the location to be created
	 * @param locationOccupationLimit the occupation limit of the location to be created
	 */
	public Location(String locationID, String locationName, int locationSize, int locationOccupationLimit) {
		setLocationID(locationID);
		setLocationName(locationName);
		setLocationSize(locationSize);
		setLocationOccupationLimit(locationOccupationLimit);
	}
	
	/**
	 * Sets the location id to the given id
	 * @param locationID the id to set the location object id to
	 */
	public void setLocationID(String locationID) {
		this.locationID = locationID;
	}
	
	/**
	 * Gets the id of the location
	 * @return the id of the location
	 */
	public String getLocationID() {
		return locationID;
	}
	
	/**
	 * Sets the location name to the given name
	 * @param locationName the name to set the name of the location object to
	 */
	public void setLocationName(String locationName) {
		this.locationName = locationName;
	}
	
	/**
	 * Gets the name of the location
	 * @return the name of the location
	 */
	public String getLocationName() {
		return locationName;
	}
	
	/**
	 * Sets the size of the location to the given size
	 * @param locationSize the size to set the size of the location object to
	 */
	public void setLocationSize(int locationSize) {
		this.locationSize = locationSize;
	}
	
	/**
	 * Gets the size of the location
	 * @return the size of the location
	 */
	public int getLocationSize() {
		return locationSize;
	}
	
	/**
	 * Sets the occupation limit of the location object
	 * @param locationOccupationLimit the occupation limit to set the occupation limit of the location object to
	 */
	public void setLocationOccupationLimit(int locationOccupationLimit) {
		this.locationOccupationLimit = locationOccupationLimit;
	}
	
	/**
	 * Gets the occupation limit of the location
	 * @return the occupation limit of the location
	 */
	public int getLocationOccupationLimit() {
		return locationOccupationLimit;
	}
}
